/*
 *  Copyright 2019-2020
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package cn.cdeden.sys.utils;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.io.File;

/**
 * @author
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "file")
public class FileProperties {


    /** 文件大小限制 */
    private Long maxSize;

    /** 头像大小限制 */
    private Long avatarMaxSize;

    private ElPath mac;

    private ElPath linux;

    private ElPath windows;

//    @Bean
//    public ElPath getFilePath(){
//        System.out.println("启动是初始化文件夹路径");
//        String os = System.getProperty("os.name");
//        if(os.toLowerCase().startsWith(ElAdminConstant.WIN)) {
//            System.err.println("文件-windows--" +windows);
//            setFolder(windows);
//            return windows;
//        } else if(os.toLowerCase().startsWith(ElAdminConstant.MAC)){
//            setFolder(mac);
//            return mac;
//        }else {
//            setFolder(linux);
//            return linux;
//        }
//    }


    public ElPath getPath(){
        String os = System.getProperty("os.name");
        if(os.toLowerCase().startsWith(ElAdminConstant.WIN)) {
//            System.err.println("abc-windows--" +windows);
            windows.setSysMachineCode("");
            return windows;
        } else if(os.toLowerCase().startsWith(ElAdminConstant.MAC)){
            return mac;
        }else {
            return linux;
        }
    }


//    void setFolder(ElPath folder){
//        FileUtil.createFolder(folder.path);//设置 文件 文件夹
//        FileUtil.createFolder(folder.path+"sys"+File.separator+"data"+File.separator+"config"+File.separator);//设置 系统配置文件 文件夹
//        FileUtil.createFolder(folder.avatar);//设置 头像 文件夹
//        FileUtil.createFolder(folder.tmp+"upload"+File.separator);//设置 临时 上传文件夹
//        FileUtil.createFolder(folder.tmp+"download"+File.separator);//设置 临时 上传文件夹
//        FileUtil.createFolder(folder.tmp+"turn"+File.separator);//设置 临时 上传文件夹
//        FileUtil.createFolder(folder.tmp+ File.separator);//设置 临时 文件夹
//        FileUtil.createFolder(folder.pagepath+"lic"+File.separator);  // pageOffice 使用
//        FileUtil.createFolder(folder.pagepath+"poseal"+File.separator);  // pageOffice 使用
//        FileUtil.createFolder(folder.pagepath+"file"+File.separator);  // pageOffice 使用
//    }

    @Data
    public static class ElPath{

        private String path;

        private String avatar;

        //临时文件
        private String tmp;
        //pageOffice
        private String pagepath;

        private String sysMachineCode;




        //
        public String getTmp(String type) {
            return tmp;
        }
    }
}
